1. Field of the Invention
The present invention relates to error processing and correction for legacy computer systems and applications. More particularly, the present application relates to error processing and correction for utilities and telecommunications service providers.
2. Background of the Invention
In many commercial settings a service or product provider (also referred to herein as “provider”) performs certain services or provides products to its customers on one date and then bills those customers at a later date. Often times, the bills are cumulative of several days, weeks or months, of usage of the services or products offered. Elaborate tracking and billing systems have been developed over time to record the customer's usage and generate bills or invoices for delivery to the customer. Such tracking and billing systems can become very complex in situations where the provider offers multiple lines of services and products, each having different rates or prices, or where the provider offers volume discount rates and prices or other special offers to customers. The tracking and billing operations become even more complex when the provider also serves as an intermediary between the customers and other providers. Tracking and billing operations are commonly performed in utilities-related industries because of the metered nature of the products and services provided to consumers. Such operations are also used in telecommunications services to track the use of and to bill for local and long distance telephone service and associated enhancements (such as, e.g., caller-id, privacy screening, and the like.) Other examples of tracking and billing operations include those used in the home entertainment industry such as cable television satellite television services, particularly those offering pay-per-view services.
Traditional tracking and billing operations, i.e., those developed for highly regulated industries such as utilities and telecommunications, have been very stable systems because they were based on highly customized applications designed to perform a limited tracking or billing function for a particular service or industry. Software applications used in such tracking and billing systems have been very large-scale programs which were designed to operate on mainframe computer systems such as provided by IBM or Amdahl. Because of the high customization and the criticality of such tracking and billing operations, any changes to the software code usually must support all prior functionality. Such established applications are often referred to in the art as “legacy systems” because they have been handed down from one generation of software to the next, generally without major changes that would affect existing capabilities. As a consequence, these legacy systems have been very difficult to upgrade or integrate with other systems as the industry has evolved. To maintain stability and compatibility, the software applications have been strictly controlled so that any changes to the code require much fault-testing and operational verification prior to actual implementation in the live systems.
Conventional billing and tracking architectures typically comprise multiple billing and tracking sites with multiple billing and tracking systems deployed at each site. As discussed above, because many of these billing and tracking systems are legacy systems with little or no integration, changes at one site or in one billing and tracking system may need to be repeated at other sites or in other systems. FIG. 1A is a schematic diagram showing a typical layout for conventional billing and tracking systems for multiple sites. Tracking and billing site 110 has one or more computers systems for collecting usage data and generating billing records. In FIG. 1A, site 110 has computer system 112 for collecting raw usage data from metered systems or services (not shown in FIG. 1A). Raw usage data from computer system 112 is provided to computer 114 for error detection and other data processing before being provided to computer system 116 for final processing of billable usage data which is then sent to a bill generator (not shown in FIG. 1A). As shown in FIG. 1A, other tracking and billing sites 130 and 140 include multiple computer systems providing essentially the same functions as provided by computer systems 112, 114 and 116 at tracking and billing site 110. Computer systems 112, 114 and 116 shown in FIGS. 1A and 1B may comprise a single computer system having one or more non-volatile data storage media.
FIG. 1B shows a more detailed schematic diagram of the computer systems and the functions performed by each system at conventional tracking and billing system 110. Raw usage data received from metered systems (not shown in FIG. 1B) is stored in database 117 on computer system 112. The raw usage data from database 117 is routinely provided to computer system 116 for by error/usage function 118. As used herein, a function comprises the computer hardware and software associated with a general process performed on a computer system. Function 118 passes valid usage records on to computer system 116 for storage in database 120. The usage records stored in database 120 comprise the billable usage records that are subsequently fed to a bill generator system (not shown in FIG. 1B). Function 118 also sends records having usage errors to computer system 116 for storage in database 122. Correction function 123 on computer system 116 analyzes and corrects the records stored in database 122 then sends the corrected records back to computer system 112. The corrected records are stored in database 124 on computer system 112. Computer system 112 sends the corrected records from database 124 to computer system 114 for processing by error/usage function 118 along with the raw usage records from database 117.
Because error correction function 123 is embedded into computer system 116, changes related to error correction processes cannot be rapidly implemented. Any such change would need to be thoroughly tested to ensure no software coding errors or other vulnerabilities have been introduced in the operational system. Even when such a change is successfully implemented at a site, the change is only available at that site. If the billing and tracking function is also carried out at other sites, the changes would have to be duplicated independently at each site. Moreover because each site may have its own unique configuration, the system testing described above would need to be duplicated at each site.
Error processing systems are a critical component of both tracking and billing systems. This is especially true when the tracking or billing operation supports hundreds of thousands, even millions, of customers and when the value of each individual service and product sold is insignificant. In such cases, manually correcting errors in individual discrepancies would be too costly in light of the small revenue associated with the individual item or customer. Accordingly, software applications for automating resolution of errors in tracking or billing records have been incorporated into legacy systems. Because the error processing systems have been imbedded in the legacy system, changes to the application have been subject to the same rigid controls described above.
Prior to deregulation of the utilities and telecommunications industries, there was little need for rapidly implementing changes in the tracking or billing applications to accommodate changes in business goals or operational procedures. In today's competitive environment, service providers must be able implement changes rapidly as the business expands into new territories or otherwise transforms its operations.
Due to the problems/limitations with the legacy error processing systems described above, as well as the need to have an effective system to handle error messages from multiple sources, a new wholesale error processing and correction system is needed.